"""
@version:python3
@author:大橘为重
@file:09-QRadioButton-功能测试.py
@time:2022/2/24 8:21
"""
# 0、导入需要的包和模块
from PyQt5.Qt import *
import sys


# 1、创建一个应用程序对象
app = QApplication(sys.argv)

# 2、控件操作
# 创建控件、设置控件、事件和信号的处理
# 2.1 创建控件
window = QWidget()
# 2.2 设置控件
window.setWindowTitle("QRadioButton-功能测试")
window.resize(500,500)

red = QWidget(window)
red.resize(200,200)
red.setStyleSheet("background-color:red;")
red.move(50,50)

green = QWidget(window)
green.resize(200,200)
green.setStyleSheet("background-color:green;")
green.move(red.x()+red.width(),red.y()+red.height())



# rb_nan = QRadioButton("男-&Male",window) # 只有一个按钮的时候点击可以选中与取消
# &符号表示可以使用alt+字母的快捷键选中
rb_nan = QRadioButton("男-Male",red)
rb_nan.setShortcut("alt+M") # 也可以手动设置快捷键
rb_nan.move(10,10)
rb_nan.setChecked(True) # 这个函数可以设置默认选中

rb_nv = QRadioButton("女-&Female",red) # 两个按钮的情况下只能选中一个不能取消
rb_nv.move(10,50)
rb_nv.setIcon(QIcon("xxx.png"))
# rb_nv.setIconSize(QSize(60,60))
rb_nv.toggled.connect(lambda isChecked:print(isChecked))
# rb_nv.setAutoExclusive(False) # 此函数可以让按钮取消独占互斥

rb_yes= QRadioButton("yes",green)
rb_yes.move(10,10)

rb_no= QRadioButton("no",green)
rb_no.move(10,50)



# 2.3 展示控件
window.show()

# 3、应用程序的执行，进入到消息循环
sys.exit(app.exec_())